Creation of Uneven Dyke Model to Simulate Magnetic Field through Finite Element Modelling¶
Table of Contents¶
- Introduction
- Uneven Dyke Model
- Application in Geological Exploration
- GravMagPro and Easy Model Creation
Introduction¶
Finite Element Modelling (FEM) is a computational technique used to simulate the behavior of physical systems under different environmental conditions. In geophysics, FEM is particularly useful for modeling the magnetic fields generated by subsurface geological structures such as dykes, faults, and mineral deposits. Uneven dyke models simulate the variations in magnetic fields due to non-uniform subsurface bodies, enabling geophysicists to gain insights into the geological properties of these structures.
Uneven Dyke Model¶
An uneven dyke model is characterized by its irregular shape and depth variations, which more accurately represent real-world geological features. The use of FEM allows for the creation of detailed models that can simulate the magnetic anomalies caused by these structures. By discretizing the dyke into finite elements, the model can calculate the magnetic field at each point in space, providing valuable data for interpretation.
Key Steps in Creating an Uneven Dyke Model:¶
- Defining the Geometry: The dyke’s shape, depth, and orientation are specified in a 3D space.
- Material Properties: The magnetic susceptibility and other material properties of the dyke are defined.
- Meshing: The model is divided into small elements for numerical analysis.
- Boundary Conditions: Magnetic field boundary conditions are set.
- Simulation: FEM software calculates the magnetic field through iterative methods.
Application in Geological Exploration¶
The simulation of magnetic fields through uneven dyke models has several important applications in geological exploration:
- Skarn Deposits: Magnetic surveys are crucial for detecting skarn-type mineral deposits, as these are often associated with strong magnetic anomalies.
- Hydrothermal Deposits: Hydrothermal mineralization often alters the magnetic properties of surrounding rocks, producing magnetic anomalies that can be mapped.
- Volcanic Pipes: Magnetic models are used to detect volcanic pipes, which are important sources of diamonds and other minerals.
- Salt Domes: Uneven dyke models help in the identification of salt domes, which are key indicators of potential hydrocarbon reservoirs.
GravMagPro and Easy Model Creation¶
GravMagPro is an advanced geophysical software tool that enables users to create complex models, such as uneven dyke models, with ease. The software provides an intuitive interface for defining geometry, assigning material properties, and meshing. With its robust FEM solver, GravMagPro allows users to simulate magnetic fields over a wide range of geological settings, making it an indispensable tool for geophysical exploration. Whether you are modeling skarn deposits, hydrothermal systems, or salt domes, GravMagPro simplifies the process and accelerates exploration success.
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import Forward_Model as fm
import time
from tqdm import tqdm
import grav_mag_inv as gmi
# Earth's magnetic field parameters
I = np.radians(-49) # Magnetic inclination in radians
D = np.radians(-3.2) # Magnetic declination in radians
B_0 = 31000 # Earth's magnetic field strength in nT (assumed)
# Example call to the function
local_maxima_coords = [(500, 500), (700, 300), (300, 700)] # User-defined local maxima locations
local_maxima_heights = [18500, 19700, 20550] # Heights x scale factor of the local maxima (relative to the base surface)
susceptibility_below_surface = 0.05
susceptibility_background = 0.0005
depth_z = 1000 # Base depth of the surface
susceptibility1, X, Y, Z, smoothed_surface = fm.create_surface_with_local_maxima_and_susceptibility(
length=1000, width=1000, depth_z=depth_z,
local_maxima_coords=local_maxima_coords,
local_maxima_heights=local_maxima_heights,
susceptibility_below_surface=susceptibility_below_surface,
susceptibility_background=susceptibility_background,
L=1000, N=20
)
length = 100
width = 100
height = 200
center_x = 150
center_y = 300
depth_z = 200
susceptibility_cuboid = 0.03
susceptibility_background = 0.0004
susceptibility2, X, Y, Z = fm.create_3d_cuboid_oriented(length, width, height, center_x, center_y, depth_z,
susceptibility_cuboid, susceptibility_background, azimuth_angle=-15, tilt_angle=0, L=1000, N=20)
susceptibility = susceptibility1 + susceptibility2
fig = gmi.plot_3d_subsurface(susceptibility, X, Y, Z)
fig.show()
# Parameters
L = 1000 # Size of the 3D grid (meters)
N = 20 # Number of points in each dimension
start_time = time.time()
delta_T_sim = fm.create_3d_forward_model_Fast(I, D, B_0, susceptibility, L, N)
elapsed_time = time.time() - start_time
print(f"Time taken: {elapsed_time:.2f} seconds")
Time taken: 0.40 seconds
fm.plot_forward_model(delta_T_sim, X, Y)
Reduced to Pole Anomaly¶
# Earth's magnetic field parameters
I = np.radians(90) # Magnetic inclination in radians
D = np.radians(0) # Magnetic declination in radians
B_0 = 31000 # Earth's magnetic field strength in nT (assumed)
start_time = time.time()
delta_T_sim = fm.create_3d_forward_model_Fast(I, D, B_0, susceptibility, L, N)
elapsed_time = time.time() - start_time
print(f"Time taken: {elapsed_time:.2f} seconds")
Time taken: 0.26 seconds
fm.plot_forward_model(delta_T_sim, X, Y)